using System;
using System.Diagnostics;
using System.Globalization;

using Atomic.Libraries.Plotting.Functions;

namespace Atomic.Libraries.Mathematics
{
	/// <summary>
	/// Represents a vector in the 2-dimensional plane.
	/// </summary>
	[Serializable]
	[DebuggerDisplay("{DebuggerDisplay}")]
	public class PlaneVector : IPlotPoint
	{
		public PlaneVector(double x, double y)
		{
			X = x;
			Y = y;
		}

		public double X
		{
			get;
			private set;
		}

		public double Y
		{
			get;
			private set;
		}

		private string DebuggerDisplay
		{
			get
			{
				return string.Format(CultureInfo.InvariantCulture, "X = {0}, Y = {1}", X, Y);
			}
		}
	}
}
